To attract Internet users, more and more web sites are providing interactive and personalized content. This type of dynamic content is usually generated by a content server based on real-time parameters and provides a better user experience than static content. Typically, each request for dynamic content requires a web server to compute the content in real-time and to transmit the content through one or more networks. The complexity of dynamic content poses special performance and scalability issues for network infrastructure and web site operations. One of these issues relates to content caching.
For static content, content caching involves caching each web page in its entirety and is relatively simple. However, for dynamic content, caching an entire page can result in errors since parts of the page may include dynamically generated items. Some current techniques seek to resolve this problem by caching fragments of a dynamically generated web page. A few of these techniques require locating caching servers near the content server. But these techniques require the majority of a web page with dynamic content to be transmitted over the Internet and still fail to address the problems related to network traffic performance. Other techniques allow edge servers, which are server installed at the edge of the Internet, to cache content in specially formatted web pages. However, these specially formatted web pages significantly reduce the user experience because their formats restrict how dynamically generated content can be presented. Also, since the fragments of these specially formatted pages must be separately requested, the processing workflow and semantics of these web pages will become considerably more complicated.
Thus, there is a need for a dynamic content caching system that effectively improves network traffic performance without unduly complicating system configurations and web page processing workflow.